home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / programm.ing / m2gem106.lzh / CRYSTAL1.06 / SRC / CRYSTAL / WINDMGR.DEF < prev    next >
Encoding:
Modula Definition  |  1993-10-24  |  5.7 KB  |  179 lines

  1. DEFINITION MODULE WindMgr;
  2.  
  3. (*
  4. AES Window Manager.
  5.  
  6. UK __DATE__ __TIME__
  7. *)
  8.  
  9. (*DEF_SWITCHES*)
  10.  
  11. FROM RcMgr  IMPORT GRect,GPnt;
  12. FROM PORTAB IMPORT SIGNEDWORD,UNSIGNEDWORD;
  13.  
  14. (* [Wind]ow Manager: [Create] Window, AES(100) *****************************)
  15.  
  16. CONST NoWindow = -1;
  17.  
  18. #if revers
  19. TYPE WindowElements = (W15,W14,
  20.                        Backdrop,
  21.                        HotClose,
  22.                        HSlide,  (* [H]orizontal [Slide] *)
  23.                        RtArrow, (* [R]igh[t] [Arrow]    *)
  24.                        LfArrow, (* [L]e[f]t [Arrow]     *)
  25.                        VSlide,  (* [V]ertical [Slide]   *)
  26.                        DnArrow, (* [D]ow[n] [Arrow]     *)
  27.                        UpArrow, (* [Up] [Arrow]         *)
  28.                        Size,
  29.                        Info,
  30.                        Move,
  31.                        Full,
  32.                        Close,
  33.                        Name);
  34. #else
  35. TYPE WindowElements = (Name,
  36.                        Close,
  37.                        Full,
  38.                        Move,
  39.                        Info,
  40.                        Size,
  41.                        UpArrow, (* [Up] [Arrow]         *)
  42.                        DnArrow, (* [D]ow[n] [Arrow]     *)
  43.                        VSlide,  (* [V]ertical [Slide]   *)
  44.                        LfArrow, (* [L]e[f]t [Arrow]     *)
  45.                        RtArrow, (* [R]igh[t] [Arrow]    *)
  46.                        HSlide,  (* [H]orizontal [Slide] *)
  47.                        HotClose,
  48.                        Backdrop,
  49.                        W14,W15);
  50. #endif
  51. (* alias *)
  52.  
  53. CONST Mover  = Move;
  54.       Fuller = Full;
  55.       Closer = Close;
  56.  
  57.       HotCloseBox = HotClose;
  58.  
  59. TYPE WindowElement = PACKEDSET OF WindowElements;
  60.  
  61.      Wind = WindowElement; (* alias *)
  62.  
  63. PROCEDURE WindCreate(    Kind   : WindowElement;
  64.                      VAR MaxRect: GRect): SIGNEDWORD;
  65.  
  66. (* [Wind]ow Manager: [Open] Window, AES(101) *******************************)
  67.  
  68. PROCEDURE WindOpen(    Handle   : SIGNEDWORD;
  69.                    VAR StartRect: GRect);
  70.  
  71. (* [Wind]ow Manager: [Close] Window, AES(102) ******************************)
  72.  
  73. PROCEDURE WindClose(Handle: SIGNEDWORD);
  74.  
  75. (* [Wind]ow Manager: [Delete] Window, AES(103) *****************************)
  76.  
  77. PROCEDURE WindDelete(VAR Handle: SIGNEDWORD);
  78.  
  79. (* [Wind]ow Manager: [Get] Window Parameters, AES(104) *********************)
  80.  
  81. CONST Desk = 0;
  82.  
  83. TYPE WindowFunctions = (WFResvd1,
  84.                         WFKind,
  85.                         WFName,
  86.                         WFInfo,
  87.                         WFWorkXYWH,
  88.                         WFCurrXYWH,  (* [Curr]ent [XYWH]             *)
  89.                         WFPrevXYWH,  (* [Prev]ious [XYWH]            *)
  90.                         WFFullXYWH,  (* [Full] [XYWH]                *)
  91.                         WFHSlide,    (* [H]orizontal [Slide]         *)
  92.                         WFVSlide,    (* [V]ertical [Slide]           *)
  93.                         WFTop,       (* [Top]                        *)
  94.                         WFFirstXYWH,
  95.                         WFNextXYWH,
  96.                         WFResvd2,
  97.                         WFNewDesk,   (* [New] [Desk]                 *)
  98.                         WFHSlSize,   (* [H]orizontal [Sl]ider [Size] *)
  99.                         WFVSlSize,   (* [V]ertical [Sl]ider [Size]   *)
  100.                         WFScreen,    (* [Screen] Buffer              *)
  101.                         WFTAttrb,
  102.                         WFSizTop,
  103.                         WFTopAp,     (* [Top] [Ap]plication          *)
  104.                         WFResvd3,
  105.                         WFResvd4,
  106.                         WFResvd5,
  107.                         WFBEvent,
  108.                         WFBottom);
  109.  
  110. CONST WFBack   = -10;                (* [Back]                       *)
  111.       WFColor  = WFTAttrb;
  112.       WFDColor = WFSizTop;           (* [D]efault Color              *)
  113.       WFOwner  = WFTopAp;
  114.  
  115.       WFBackdrop = 100; (* MagX *)
  116.  
  117.       WFMOwner   = 101; (* MagX *)
  118.       WFWindList = 102; (* MagX *)
  119.  
  120. (* alias *)
  121.  
  122. CONST WFWXYWH = WFWorkXYWH;
  123.       WFCXYWH = WFCurrXYWH;
  124.       WFPXYWH = WFPrevXYWH;
  125.       WFFXYWH = WFFullXYWH;
  126.  
  127. PROCEDURE WindGet(    Handle: SIGNEDWORD;
  128.                       Field : WindowFunctions;
  129.                   VAR Word1 : SIGNEDWORD;
  130.                   VAR Word2 : SIGNEDWORD;
  131.                   VAR Word3 : SIGNEDWORD;
  132.                   VAR Word4 : SIGNEDWORD);
  133.  
  134. (* [Wind]ow Manager: [Set] Window Parameters, AES(105) *********************)
  135.  
  136. PROCEDURE WindSet(Handle: SIGNEDWORD;
  137.                   Field : WindowFunctions;
  138.                   Word1 : SIGNEDWORD;
  139.                   Word2 : SIGNEDWORD;
  140.                   Word3 : SIGNEDWORD;
  141.                   Word4 : SIGNEDWORD);
  142.  
  143. (* [Wind]ow Manager: [Find] Window, AES(106) *******************************)
  144.  
  145. PROCEDURE WindFind(XY: GPnt): SIGNEDWORD;
  146.  
  147. (* [Wind]ow Manager: Window [Update] Mode, AES(107) ************************)
  148.  
  149. CONST EndUpdate = 0;
  150.       BegUpdate = 1;
  151.       EndMCtrl  = 2;
  152.       BegMCtrl  = 3;
  153.       BegEmerg  = 4;
  154.       EndEmerg  = 5;
  155.       ChkUpdate = 257; (* or add 0100H to BegUpdate *)
  156.       ChkMCtrl  = 259; (* or add 0100H to BegMCtrl  *)
  157.  
  158. PROCEDURE WindUpdate(BegUp: UNSIGNEDWORD): BOOLEAN;
  159.  
  160. (* [Wind]ow Manager: [Calc]ulate Window Area, AES(108) *********************)
  161.  
  162. TYPE CalcModes = (WCBorder,WCWork);
  163.  
  164. PROCEDURE WindCalc(    Type : CalcModes;
  165.                        Kind : WindowElement;
  166.                    VAR Rect1: GRect;
  167.                    VAR Rect2: GRect);
  168.  
  169. (* [Wind]ow Manager: [New] Window Memory, AES(109) *************************)
  170.  
  171. PROCEDURE WindNew;
  172.  
  173. (* [Wind]ow Manager: [Find] [Ap]plication **********************************)
  174.  
  175. PROCEDURE WindApFind(MXY: GPnt): SIGNEDWORD;
  176.  
  177. END WindMgr.
  178.  
  179.